package org.jeecg.modules.innerApi.zhiYunSdApi.responseVo;

import com.alibaba.fastjson.annotation.JSONField;

import lombok.*;

import java.io.Serializable;
import java.util.List;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.jeecg.modules.innerApi.common.responseDto.CommonRtn;

/**
* @Author: Niugeng
* @Create: 2023/08/30
* @Description：查询红字信息表出参112
*/
@Data
@Builder
@EqualsAndHashCode(callSuper = false)
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "查询红字信息表出参112")
public class SdCxhzxxbcc112Rtn extends CommonRtn implements Serializable {

    private static final long serialVersionUID = 1L;

    /**数据结果*/
    @ApiModelProperty(value = "数据结果")
    private List<SdCxhzxxbcc112Rtn.SdCxhzxxbcc112RtnData> data;

    @Data
    @ApiModel(description="红字信息表同步返回数据")
    public static class SdCxhzxxbcc112RtnData {
        /**
         * id
         */
        @ApiModelProperty(value = "id")
        @JSONField(name = "id",ordinal = 0)
        private String id;

        /**
         * 发票类型代码-String-发票类型代码
         */
        @ApiModelProperty(value = "发票类型代码-String-发票类型代码")
        @JSONField(name = "fplxdm",ordinal = 0)
        private String fplxdm;

        /**
         * 蓝字发票代码-String-蓝字发票代码
         */
        @ApiModelProperty(value = "蓝字发票代码-String-蓝字发票代码")
        @JSONField(name = "lzfpdm",ordinal = 1)
        private String lzfpdm;

        /**
         * 蓝字发票号码-String-蓝字发票号码
         */
        @ApiModelProperty(value = "蓝字发票号码-String-蓝字发票号码")
        @JSONField(name = "lzfphm",ordinal = 2)
        private String lzfphm;

        /**
         * 申请时间-String-申请时间
         */
        @ApiModelProperty(value = "申请时间-String-申请时间")
        @JSONField(name = "sqsj",ordinal = 3)
        private String sqsj;

        /**
         * 纳税人识别号-String-纳税人识别号
         */
        @ApiModelProperty(value = "纳税人识别号-String-纳税人识别号")
        @JSONField(name = "nsrsbh",ordinal = 4)
        private String nsrsbh;

        /**
         * 信息表编号-String-信息表编号
         */
        @ApiModelProperty(value = "信息表编号-String-信息表编号")
        @JSONField(name = "xxbbh",ordinal = 5)
        private String xxbbh;

        /**
         * 销方税号-String-销方税号
         */
        @ApiModelProperty(value = "销方税号-String-销方税号")
        @JSONField(name = "xhdwsbh",ordinal = 6)
        private String xhdwsbh;

        /**
         * 销方名称-String-销方名称
         */
        @ApiModelProperty(value = "销方名称-String-销方名称")
        @JSONField(name = "xhdwmc",ordinal = 7)
        private String xhdwmc;

        /**
         * 购方税号-String-购方税号
         */
        @ApiModelProperty(value = "购方税号-String-购方税号")
        @JSONField(name = "ghdwsbh",ordinal = 8)
        private String ghdwsbh;

        /**
         * 购方名称-String-购方名称
         */
        @ApiModelProperty(value = "购方名称-String-购方名称")
        @JSONField(name = "ghdwmc",ordinal = 9)
        private String ghdwmc;

        /**
         * 合计金额-String-合计金额
         */
        @ApiModelProperty(value = "合计金额-String-合计金额")
        @JSONField(name = "hjje",ordinal = 10)
        private String hjje;

        /**
         * 合计税额-String-合计税额
         */
        @ApiModelProperty(value = "合计税额-String-合计税额")
        @JSONField(name = "hjse",ordinal = 11)
        private String hjse;

        /**
         * 价税合计-String-价税合计
         */
        @ApiModelProperty(value = "价税合计-String-价税合计")
        @JSONField(name = "jshj",ordinal = 12)
        private String jshj;

        /**
         * 申请单号-String-申请单号
         */
        @ApiModelProperty(value = "申请单号-String-申请单号")
        @JSONField(name = "sqdh",ordinal = 13)
        private String sqdh;

        /**
         * 申请流水号-String-申请流水号
         */
        @ApiModelProperty(value = "申请流水号-String-申请流水号")
        @JSONField(name = "sqlsh",ordinal = 14)
        private String sqlsh;

        /**
         * 蓝字开票日期-String-蓝字开票日期
         */
        @ApiModelProperty(value = "蓝字开票日期-String-蓝字开票日期")
        @JSONField(name = "lzrq",ordinal = 15)
        private String lzrq;

        /**
         * 处理标志-String-红字信息表状态代码
         * "01", "无需确认"
         * "02", "销方录入待购方确认"
         * "03", "购方录入待销方确认"
         * "04", "购销双方已确认"
         * "05", "作废(销方录入购方否认"
         * "06", "作废(购方录入销方否认"
         * "07", "作废(超 72 小时未确认)"
         * "08", "作废(发起方已撤销)"
         * "09", "作废(确认后撤销)"
         * "10", "作废(异常凭证)"
         */
        @ApiModelProperty(value = "处理标志-String-红字信息表状态代码")
        @JSONField(name = "clbz",ordinal = 16)
        private String clbz;

        /**
         * 红字信息表状态-String-红字信息表状态（详见
         * "01", "无需确认"
         * "02", "销方录入待购方确认"
         * "03", "购方录入待销方确认"
         * "04", "购销双方已确认"
         * "05", "作废(销方录入购方否认"
         * "06", "作废(购方录入销方否认"
         * "07", "作废(超 72 小时未确认)"
         * "08", "作废(发起方已撤销)"
         * "09", "作废(确认后撤销)"
         * "10", "作废(异常凭证)"
         */
        @ApiModelProperty(value = "红字信息表状态-String-红字信息表状态（详见")
        @JSONField(name = "cwxx",ordinal = 17)
        private String cwxx;

        /**
         * 撤销状态-String-红字信息表如果撤销后该节点为（已撤销）否则为空
         */
        @ApiModelProperty(value = "撤销状态-String红字信息表如果撤销后该节点为（已撤销）否则为空")
        @JSONField(name = "cxzt",ordinal = 18)
        private String cxzt;

        /**
         * 冲红原因代码
         * 01,开票有误03,服务中止04,销售折让
         */
        @ApiModelProperty(value = "冲红原因代码")
        @JSONField(name = "chyydm",ordinal = 19)
        private String chyydm;

        /**
         * 红字信息表撤销日期-String-yyyy-MM-dd
         */
        @ApiModelProperty(value = "红字信息表撤销日期-String-yyyy-MM-dd")
        @JSONField(name = "cxrq",ordinal = 20)
        private String cxrq;

        /**
         *  红冲状态
         * 值为1 代码负数已经开具
         */
        @ApiModelProperty(value = "红冲状态")
        @JSONField(name = "红冲状态",ordinal = 19)
        private String hczt;

        /**红冲商品明细*/
        @ApiModelProperty(value = "红冲商品明细")
        private List<SdCxhzxxbcc112Rtn.SdCxhzxxbcc112RtnDatamx> zbmx;
    }

    @Data
    @ApiModel(description="红字信息表同步返回数据")
    public static class SdCxhzxxbcc112RtnDatamx {
        /**
         * 明细 id-String-对应红字信息表 id
         */
        @ApiModelProperty(value = "明细 id-String-对应红字信息表 id")
        @JSONField(name = "mxid",ordinal = 23)
        private String mxid;

        /**
         * 发票代码-String-蓝字发票代码
         */
        @ApiModelProperty(value = "发票代码-String-蓝字发票代码")
        @JSONField(name = "fpdm",ordinal = 24)
        private String fpdm;

        /**
         * 发票号码-String-蓝字发票号码
         */
        @ApiModelProperty(value = "发票号码-String-蓝字发票号码")
        @JSONField(name = "fphm",ordinal = 25)
        private String fphm;

        /**
         * 序号-String-序号
         */
        @ApiModelProperty(value = "序号-String-序号")
        @JSONField(name = "fpmxxh",ordinal = 26)
        private String fpmxxh;

        /**
         * 发票行性质-String-发票行性质
         */
        @ApiModelProperty(value = "发票行性质-String-发票行性质")
        @JSONField(name = "fphxz",ordinal = 27)
        private String fphxz;

        /**
         * 金额-BigDecimal-金额
         */
        @ApiModelProperty(value = "金额-BigDecimal-金额")
        @JSONField(name = "je",ordinal = 28)
        private String je;

        /**
         * 税率-BigDecimal-税率
         */
        @ApiModelProperty(value = "税率-BigDecimal-税率")
        @JSONField(name = "sl",ordinal = 29)
        private String sl;

        /**
         * 税额-BigDecimal-税额
         */
        @ApiModelProperty(value = "税额-BigDecimal-税额")
        @JSONField(name = "se",ordinal = 30)
        private String se;

        /**
         * 商品名称-String-商品名称
         */
        @ApiModelProperty(value = "商品名称-String-商品名称")
        @JSONField(name = "spmc",ordinal = 31)
        private String spmc;

        /**
         * 商品税目-String-商品税目
         */
        @ApiModelProperty(value = "商品税目-String-商品税目")
        @JSONField(name = "spsm",ordinal = 32)
        private String spsm;

        /**
         * 规格型号-String-规格型号
         */
        @ApiModelProperty(value = "规格型号-String-规格型号")
        @JSONField(name = "ggxh",ordinal = 33)
        private String ggxh;

        /**
         * 单位-String-单位
         */
        @ApiModelProperty(value = "单位-String-单位")
        @JSONField(name = "dw",ordinal = 34)
        private String dw;

        /**
         * 商品单价-String-商品单价
         */
        @ApiModelProperty(value = "商品单价-String-商品单价")
        @JSONField(name = "spdj",ordinal = 35)
        private String spdj;

        /**
         * 商品数量-String-商品数量
         */
        @ApiModelProperty(value = "商品数量-String-商品数量")
        @JSONField(name = "spsl",ordinal = 36)
        private String spsl;

        /**
         * 含税标志-String-含税标志
         */
        @ApiModelProperty(value = "含税标志-String-含税标志")
        @JSONField(name = "hsbz",ordinal = 37)
        private String hsbz;

        /**
         * 商品编码-String-商品编码
         */
        @ApiModelProperty(value = "商品编码-String-商品编码")
        @JSONField(name = "spbm",ordinal = 38)
        private String spbm;

        /**
         * 自行编码-String-自行编码
         */
        @ApiModelProperty(value = "自行编码-String-自行编码")
        @JSONField(name = "zxbm",ordinal = 39)
        private String zxbm;

        /**
         * 优惠赠策标识-String-优惠赠策标识
         */
        @ApiModelProperty(value = "优惠赠策标识-String-优惠赠策标识")
        @JSONField(name = "yhzcbs",ordinal = 40)
        private String yhzcbs;

        /**
         * 增值税特殊管理-String-增值税特殊管理
         */
        @ApiModelProperty(value = "增值税特殊管理-String-增值税特殊管理")
        @JSONField(name = "zzstsgl",ordinal = 41)
        private String zzstsgl;

        /**
         * 零税率标识-String-零税率标识
         */
        @ApiModelProperty(value = "零税率标识-String-零税率标识")
        @JSONField(name = "lslbs",ordinal = 42)
        private String lslbs;

    }
}
